Software programmers in businesses and/or organizations are often required to identify critical information about code segments and data structures in a computer program for code optimization. One technique for obtaining such critical information is tracing, which provides a view into the behavior of a program by recording the time and details of the state of the program at relevant points in the operation of the program. For instance, a dedicated routine monitors the progress of the program and provides a detailed record of the program's execution path and stores the detailed record in a storage location or buffer, such as, in memory. The size and amount of memory utilized in tracing is typically limited by cost considerations. Accordingly, software programmers want to ensure that all aspects of a computer code employed are operational and that any critical situations that may occur are not missed during tracing. As such, there is a need to effectively monitor a computer program and to preserve key trace information without affecting costs or performance.